package cn.yunbamboos.rest.service.anno.param;

import cn.yunbamboos.rest.service.anno.param.enums.Type;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ParamType {

    String path();

    /**
     * 类型
     */
    Type type();

    /**
     * 中文
     */
    String title() default "";

    /**
     * 是否是必须的
     */
    boolean required() default false;

    /**
     * 说明
     */
    String description() default "";
    /**
     * 当type list 为 list 内元素类型
     * */
    Class<?> typeClass() default Object.class;

    /**
     * 例子
     * */
    String example() default "";

}
